import Vue from 'vue'
// 导入路由对象
import VueRouter from 'vue-router'
// import Vant from 'vant'
// import 'vant/lib/index.css'
// import 'vant/lib/index.less'
// 按需引入不需要引入样式
// 引入组件
// import Login from '../views/login.vue'
// // @:表示src的绝对路径,如果使用它可能会导致最后一级没有提示,需要格外小心
// import Register from '@/views/register.vue'
// import Layout from '@/views/layout.vue'
// import Detail from '@/views/detail.vue'

// import Article from '../views/article.vue'
// import Collect from '@/views/collect.vue'
// import Like from '@/views/like.vue'
// import User from '@/views/user.vue'

import { getToken } from '@/utils/storage'
import { Toast } from 'vant'
// Vue.use(Vant)
// 安装插件
Vue.use(VueRouter)
// 配置路由
const routes = [
  { path: '/login', component: () => import('@/views/login') },
  { path: '/register', component: () => import('@/views/register') },
  { path: '/detail/:id', component: () => import('@/views/detail') },
  {
    path: '/',
    component: () => import('@/views/layout'),
    redirect: '/article',
    children: [
      { path: 'article', component: () => import('@/views/article') },
      { path: 'collect', component: () => import('@/views/collect') },
      { path: 'like', component: () => import('@/views/like') },
      { path: 'user', component: () => import('@/views/user') }

    ]
  }

]

// 创建路由对象
const router = new VueRouter({
  routes
})

router.beforeEach((to, from, next) => {
  // 权限控制--判断是否登录,如果未登录不允许进入首页
  // console.log(to.path<去到的地方>, from.path)
  const token = getToken()
  if (token) {
    next()
  } else {
    // 白名单
    const whiteList = ['/login', '/register']
    // 还需优化
    // if (to.path === '/login' || to.path === '/register') {
    if (whiteList.includes(to.path)) {
      next()
    } else {
      // 强制跳转到登录页
      next('/login')
      // 提醒用户您还没登录呢
      Toast('亲,请先登录哦!')
    }
  }
})
// 导出路由对象
export default router

// 项目初始化后清理结构
// 1.删除所有要清理的东西
// 1.1app.vue文件内的所有代码
// 1.2view下的所有文件
// 1.3components下的所有文件
// 1.4router/index.js中所有不需要的配置
// 1.5assets下的所有文件
// 在src下新建api和utils
